In modern avionics systems, partitioning operating systems are typically used to meet critical safety and mission requirements. Aeronautical Radio Inc. (ARINC) has promulgated the “ARINC Specification 653: Avionics Application Standard Software Interface” family of specifications (generally referred to here as “ARINC 653”) to host multiple applications on different software levels on the same hardware.
ARINC 653 defines an Application EXecutive (APEX) for space and time partitioning for enabling multiple partitions to share a single processor and memory in order to guarantee that applications executing within one partition cannot adversely affect other partitions in the event of an application failure. Each partition in the ARINC 653 system represents a separate application and makes use of dedicated memory space. Similarly, the APEX allots a dedicated time slice to each partition for time partitioning. All ARINC 653 data is internal to the processor and cannot be monitored or injected from an external source. In this regard, ARINC 653 governs only intra-processor communication.
The processor industry is transitioning to multi-core and multi-processor systems for various reasons. Increasing the number of processors and processor cores permits more partitions to be created in a network component, with each partition configured as a virtual machine and executing its own programs. These virtual machines can intercommunicate with each other leading to an increase in operating efficiencies, but they are limited from being able to easily monitor and troubleshoot the network component. Data can only be captured and injected from the Avionics System LAN (“ASL”), making each processor a “black box” that masks operation of the internal virtual machines.